home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 7 / Amiga Format AFCD07 (Dec 1996, Issue 91).iso / serious / shareware / programming / emacs-complete / fsf / emacs / src / m / ns16000.h < prev    next >
C/C++ Source or Header  |  1993-06-12  |  3KB  |  108 lines

  1. /* machine description file for ns16000.
  2.    Copyright (C) 1985 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20.  
  21. /* The following line tells the configuration script what sort of 
  22.    operating system this machine is likely to run.
  23.    USUAL-OPSYS="note"
  24.  
  25. NOTE-START
  26. For the Encore, use `-opsystem=umax'.
  27. For a Tektronix 16000 box (a 6130, perhaps?), use `-opsystem=bsd4-2'.
  28. Use `-machine=ns16000' for both.
  29. NOTE-END  */
  30.  
  31. /* The following three symbols give information on
  32.  the size of various data types.  */
  33.  
  34. #define SHORTBITS 16        /* Number of bits in a short */
  35.  
  36. #define INTBITS 32        /* Number of bits in an int */
  37.  
  38. #define LONGBITS 32        /* Number of bits in a long */
  39.  
  40. /* 16000 is little-endian (lowest-numbered byte is least significant) */
  41.  
  42. /* #define BIG_ENDIAN */  /* So don't define this.  */
  43.  
  44. /* Say this machine is a 16000 */
  45.  
  46. #define ns16000 1
  47.  
  48. /* Use type int rather than a union, to represent Lisp_Object */
  49.  
  50. #define NO_UNION_TYPE
  51.  
  52. /* Data type of load average, as read out of kmem.  */
  53.  
  54. #ifndef USG
  55. #define LOAD_AVE_TYPE double
  56. #endif
  57.  
  58. /* Convert that into an integer that is 100 for a load average of 1.0  */
  59.  
  60. #ifndef USG
  61. #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
  62. #endif
  63.  
  64. #ifdef USG
  65.  
  66. /* Control assembler syntax used in alloca.s.  */
  67. #define NS5
  68.  
  69. /* On early NS systems ulimit was buggy. If set emacs uses this value
  70.  * for the maximum sbrk value instead of getting it from ulimit.
  71.  */
  72. #define ULIMIT_BREAK_VALUE 0x7E0000
  73.  
  74. /* Early NS compilers have this bug. I believe it has been fixed in later
  75.  * releases.
  76.  */
  77. #define SHORT_CAST_BUG
  78.  
  79. #define SEGMENT_MASK (NBPS - 1)
  80.  
  81. /* Variables to get crt0.c to come out correctly */
  82. #define CRT0_DUMMIES bogus_fp,
  83. #define DOT_GLOBAL_START
  84.  
  85. /* Control how emacsclient communicates.  */
  86. #define HAVE_SYSVIPC
  87.  
  88. /* Set this to /bin/mail unless you have a better mail posting program */
  89. #define MAIL_PROGRAM_NAME "/usr/local/bin/remail"
  90.  
  91. /* Tell sysdep.c not to define bzero, etc.  */
  92. #undef BSTRING
  93. #define BSTRING
  94.  
  95. /* Macro definitions to emulate BSD functions with SysV ones */
  96. #undef bcopy
  97. #undef bzero
  98. #undef bcmp
  99.  
  100. #define bcopy(a,b,s)    memcpy(b,a,s)
  101. #define bzero(a,s)    memset(a,0,s)
  102. #define bcmp        memcmp
  103.  
  104. /* This avoids problems with uninitialized static variables going in .data.  */
  105. #define static
  106.  
  107. #endif /* USG */
  108.